import createElement from "./createElement";
import updateChildren from "./updateChildren";
export default function patchVnode(oldVnode, newVnode) {
  // 判断新节点有没有children
  if(newVnode.children === undefined) {
    // 新的没有子节点
    // 文本不一样
    if(newVnode.text !== oldVnode.text) {
      oldVnode.elm.innerText = newVnode.text;
    }
  } else {
    // 新的有子节点
    // 新的虚拟节点有，旧的虚拟节点也有
    if(oldVnode.children !== undefined && oldVnode.children.length) {
      // 最复杂的情况，diff核心
      updateChildren(oldVnode.elm, oldVnode.children, newVnode.children)
      console.log("新旧都有")
      console.log(oldVnode.elm, oldVnode.children, newVnode.children);
    } else {
      // 新的虚拟节点有，旧的虚拟节点没有
      // 把旧节点的内容清空
      oldVnode.elm.innerHTML = "";
      for(let child of newVnode.children) {
        let childDom = createElement(child);
        // 创建新的子节点
        oldVnode.elm.appendChild(childDom);
      }
      console.log(newVnode.children);
    }
  }
}